from enums.ResultEnum import StatusCode, MessageType

from flask import jsonify


# 统一返回工具类
class Response:
    def __init__(self):
        self.message = ""  # 返回提示信息
        self.code = ""  # 返回提示状态
        self.data = ""  # 数据

    #  请求成功的方法
    def success(self, data=None):
        if data:
            self.data = data
        self.code = StatusCode.SUCCESS.value # 使用枚举值而不是字符串
        self.message = MessageType.SUCCESS.value # 使用枚举值而不是字符串
        return jsonify(self.__dict__)

    #  请求失败的方法
    def error(self):
        self.code = StatusCode.ERROR.value  # 使用枚举值而不是字符串
        self.message = MessageType.ERROR.value
        return jsonify(self.__dict__)

    #  请求失败带参数
    def errorMsg(self, msg):
        self.code = StatusCode.ERROR.value  # 使用枚举值而不是字符串
        self.message = str(msg)
        return jsonify(self.__dict__)

    # 警告方法带参数
    def waringMsg(self, err_msg):
        self.code = StatusCode.WARNING.value  # 使用枚举值而不是字符串
        self.message = str(err_msg)
        return jsonify(self.__dict__)
